When two electronic components need to share information or data, they must communicate electrically with a common protocol in order to ensure that the information can be interpreted. If the communication is one-way, then a first device transmits the information and a second device receives the information. If bi-directional communication is used, either of the first or second devices can initiate the communication. In bi-directional communications, there must be a mechanism in place to determine if the communication channel is clear and if the recipient device (e.g., the second device) is ready to accept the communication.
Current two-wire communication schemes include RS232, Serial Peripheral Interface Bus (SPI), and Inter-Integrated Circuit (I2C). RS232 is prone to collisions. SPI is typically implemented as a one-way communication scheme, wherein a first device serves as a master and a second device serves as a slave; the slave cannot initiate communication as the clock is supplied by the master. I2C communication is implemented as a one-way communication with a master and one or more slaves. Some low cost microcontrollers do not contain dedicated peripherals that can communicate using these protocols.